#!/usr/bin/env python
# coding: utf-8

import re
import sys
from itertools import islice

def clear(s):
    return s.lower().replace(',', '').replace('-', '').replace("'", '').replace('"', '').replace('--', ' ')


def main():
    compare_type = sys.argv[1].strip()
    assert compare_type in ['exact', 'entry']
    real_func = sys.argv[2].strip()
    predicted_funcs = (line.strip() for line in sys.stdin if line.strip())

    if real_func in ['hypothetical protein', '__NULL__', 'pseudogene', '']:
        predicted_funcs = list(islice(predicted_funcs, 1))
        if predicted_funcs:
            # определили неизвестную функцию
            return '%s\t%s' % (-1, predicted_funcs[0])
        else:
            # не определили неизвестную функцию
            return -2

#    if re.match('^y[a-zA-Z]{3}$', real_func):
#        if predicted_funcs:
#            # определили неизвестную функцию
#            return '%s\t%s' % (-3, predicted_funcs[0])
#        else:
#            # не определили неизвестную функцию
#            return -4

    else:
        sf1 = set( clear(real_func).split() )
        i = -1
        best_func = None
        for i, func2 in enumerate(predicted_funcs):
            if i == 0:
                best_func = func2
            if compare_type == 'entry':
                sf2 = set( clear(func2).split() )
                if not sf1.difference(sf2) or not sf2.difference(sf1):
                    # угадали функцию
                    return '%s\t%s' % (i+1, func2)
            elif compare_type == 'exact':
                if real_func == func2:
                    # угадали функцию
                    return '%s\t%s' % (i+1, func2)
        if i < 0:
            # не предсказали никакой функции для известной
            return 0.5
        else:
            # не угадали функцию
            return '%s\t%s' % (0, best_func)

print main()

